package com.neuedu.corejava.ch12;

import java.io.File;

public class FileDemo {

	public static void main(String[] args) {
		//使用File类定位一个系统文件
		//1、方法1：使用绝对路径定位
		
		//全目录（文件目录）
		 String fileName="D:\\javalan11workspacelan\\corejava\\src\\com\\neuedu\\corejava\\ch10\\homework";
		 //文件（文件的全地址）
		 fileName="D:\\javalan11workspacelan\\corejava\\src\\com\\neuedu\\corejava\\ch10\\homework\\BankDepositors.java";
		 //相对路径：相当于主类的执行地址，参考地址是main方法所在的类的地址
		//相对路径地址要以程序所在的地址作为参考，这个地址需要排除pacakge的名称com\neuedu\corejava\ch12
		//D:\java11workspace\corejava\src\com\neuedu\corejava\ch12\FileDemo.java
		//D:\java11workspace\corejava    +  "docs\\jdbc.sql"
		//在eclipse中以项目工程所在的地址作为参考：D:\java11workspace\corejava
			

		//2.方法2 - 使用相对路径定位
		// fileName="docs\\jdbc.sql";
		 File file=new File(fileName);
		
		 
		//通过java.io.File判断文件或目录是否存在
		if(file.exists()) {
			System.out.println("==================================================================================================");
			System.out.println("文件存在!");
			//文件的绝对路径:返回磁盘根目录下的完整地址
			System.out.println("绝对路径："+file.getAbsolutePath());
			System.out.println("执行："+file.canExecute()+" ,读取内容:"+file.canRead()+" ,写入内容： "+file.canWrite());
			System.out.println("getName: "+file.getName());//获取的文件或目录名称
			System.out.println("getParent:"+file.getParent());//文件的相对路径的父地址
			System.out.println("getPath: "+file.getPath());//文件的相对路径的地址
		}else {
			System.out.println("文件不存在!");
		}
		
		//3、方法3 = 把文件名与目录名分开，在一个目录下有多个文件需要进行操作时
		String path="D:\\javalan11workspacelan\\corejava\\src\\com\\neuedu\\corejava\\ch10\\homework";
		String fName="BankDepositors.java";
		File file2=new File(path,fName);
		if(file2.exists()) {
			System.out.println("==================================================================================================");
			System.out.println("文件存在!");
			System.out.println("绝对路径："+file2.getAbsolutePath());
			System.out.println("getName: "+file2.getName());//获取的文件或目录名称
			System.out.println("getParent:"+file2.getParent());//文件的相对路径的父地址
			System.out.println("getPath: "+file2.getPath());//文件的相对路径的地址
		}else {
			System.out.println("文件不存在!");
		}
		
		
		//4、方法3 = 把文件名与目录名分开，在一个目录下有多个文件需要进行操作时
				File filePath=new File("D:\\javalan11workspacelan\\corejava\\src\\com\\neuedu\\corejava\\ch10\\homework");
			    fName="BankDepositors.java";
				File file3=new File(filePath,fName);
				if(file2.exists()) {
					System.out.println("==================================================================================================");
					System.out.println("文件存在!");
					System.out.println("绝对路径："+file2.getAbsolutePath());
					System.out.println("getName: "+file2.getName());//获取的文件或目录名称
					System.out.println("getParent:"+file2.getParent());//文件的相对路径的父地址
					System.out.println("getPath: "+file2.getPath());//文件的相对路径的地址
				}else {
					System.out.println("文件不存在!");
				}
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		

	}

}
